home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / u_man / cat1 / X11 / xdm.z / xdm
Text File  |  1998-10-30  |  99KB  |  1,717 lines

  1.  
  2.  
  3.  
  4.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           xdm - X Display Manager with support for XDMCP, host chooser
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           xxxxddddmmmm [ ----ccccoooonnnnffffiiiigggg _c_o_n_f_i_g_u_r_a_t_i_o_n__f_i_l_e ] [ ----nnnnooooddddaaaaeeeemmmmoooonnnn ] [ ----ddddeeeebbbbuuuugggg
  13.           _d_e_b_u_g__l_e_v_e_l ] [ ----eeeerrrrrrrroooorrrr _e_r_r_o_r__l_o_g__f_i_l_e ] [ ----rrrreeeessssoooouuuurrrrcccceeeessss
  14.           _r_e_s_o_u_r_c_e__f_i_l_e ] [ ----sssseeeerrrrvvvveeeerrrr _s_e_r_v_e_r__e_n_t_r_y ] [ ----sssseeeessssssssiiiioooonnnn
  15.           _s_e_s_s_i_o_n__p_r_o_g_r_a_m ]
  16.  
  17.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  18.           _X_d_m manages a collection of X displays, which may be on the
  19.           local host or remote servers.  The design of _x_d_m was guided
  20.           by the needs of X terminals as well as the X Consortium
  21.           standard XDMCP, the _X _D_i_s_p_l_a_y _M_a_n_a_g_e_r _C_o_n_t_r_o_l _P_r_o_t_o_c_o_l.  _X_d_m
  22.           provides services similar to those provided by _i_n_i_t, _g_e_t_t_y
  23.           and _l_o_g_i_n on character terminals: prompting for login name
  24.           and password, authenticating the user, and running a
  25.           ``session.''
  26.  
  27.           A ``session'' is defined by the lifetime of a particular
  28.           process; in the traditional character-based terminal world,
  29.           it is the user's login shell.  In the _x_d_m context, it is an
  30.           arbitrary session manager.  This is because in a windowing
  31.           environment, a user's login shell process does not
  32.           necessarily have any terminal-like interface with which to
  33.           connect.  When a real session manager is not available, a
  34.           window manager or terminal emulator is typically used as the
  35.           ``session manager,'' meaning that termination of this
  36.           process terminates the user's session.
  37.  
  38.           When the session is terminated, _x_d_m resets the X server and
  39.           (optionally) restarts the whole process.
  40.  
  41.           When _x_d_m receives an Indirect query via XDMCP, it can run a
  42.           _c_h_o_o_s_e_r process to perform an XDMCP BroadcastQuery (or an
  43.           XDMCP Query to specified hosts) on behalf of the display and
  44.           offer a menu of possible hosts that offer XDMCP display
  45.           management.  This feature is useful with X terminals that do
  46.           not offer a host menu themselves.
  47.  
  48.           Because _x_d_m provides the first interface that users will
  49.           see, it is designed to be simple to use and easy to
  50.           customize to the needs of a particular site.  _X_d_m has many
  51.           options, most of which have reasonable defaults.  Browse
  52.           through the various sections of this manual, picking and
  53.           choosing the things you want to change.  Pay particular
  54.           attention to the SSSSeeeessssssssiiiioooonnnn PPPPrrrrooooggggrrrraaaammmm section, which will
  55.           describe how to set up the style of session desired.
  56.  
  57.      OOOOVVVVEEEERRRRVVVVIIIIEEEEWWWW
  58.           _x_d_m is highly configurable, and most of its behavior can be
  59.           controlled by resource files and shell scripts located in
  60.  
  61.  
  62.  
  63.      Page 1                                         (printed 10/24/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  71.  
  72.  
  73.  
  74.           the directory /var/X11/xdm.  The names of these files
  75.           themselves are resources read from the file _x_d_m-_c_o_n_f_i_g or
  76.           the file named by the ----ccccoooonnnnffffiiiigggg option.
  77.  
  78.           _x_d_m offers display management two different ways.  It can
  79.           manage X servers running on the local machine and specified
  80.           in _X_s_e_r_v_e_r_s, and it can manage remote X servers (typically X
  81.           terminals) using XDMCP (the XDM Control Protocol) as
  82.           specified in the _X_a_c_c_e_s_s file.
  83.  
  84.           _X_l_o_g_i_n, contains commands which initialize the login screen
  85.           and provides hooks for alternative login programs.  See the
  86.           script for details.
  87.  
  88.           The resources of the X clients run by _x_d_m outside the user's
  89.           session, including _x_d_m's own login window, can be affected
  90.           by setting resources in the _X_r_e_s_o_u_r_c_e_s file.
  91.  
  92.           For X terminals that do not offer a menu of hosts to get
  93.           display management from, _x_d_m can collect willing hosts and
  94.           run the _c_h_o_o_s_e_r program to offer the user a menu.  For X
  95.           displays attached to a host, this step is typically not
  96.           used, as the local host does the display management.
  97.  
  98.           After resetting the X server, _x_d_m runs the _X_s_e_t_u_p script to
  99.           assist in setting up the screen the user sees along with the
  100.           _x_l_o_g_i_n widget.
  101.  
  102.           The _x_l_o_g_i_n widget, which _x_d_m presents, offers the familiar
  103.           login and password prompts.
  104.  
  105.           After the user logs in, _x_d_m runs the _X_s_t_a_r_t_u_p script as
  106.           root.
  107.  
  108.           Then _x_d_m runs the _X_s_e_s_s_i_o_n script as the user.  This system
  109.           session file may do some additional startup and typically
  110.           runs the ._x_s_e_s_s_i_o_n script in the user's home directory.
  111.           When the _X_s_e_s_s_i_o_n script exits, the session is over.
  112.  
  113.           At the end of the session, the _X_r_e_s_e_t script is run to clean
  114.           up, the X server is reset, and the cycle starts over.
  115.  
  116.           The file _x_d_m-_e_r_r_o_r_s will contain error messages from _x_d_m and
  117.           anything output to stderr by _X_s_e_t_u_p, _X_s_t_a_r_t_u_p, _X_s_e_s_s_i_o_n or
  118.           _X_r_e_s_e_t.  When you have trouble getting _x_d_m working, check
  119.           this file to see if _x_d_m has any clues to the trouble.
  120.  
  121.      OOOOPPPPTTTTIIIIOOOONNNNSSSS
  122.           All of these options, except ----ccccoooonnnnffffiiiigggg itself, specify values
  123.           that can also be specified in the configuration file as
  124.           resources.
  125.  
  126.  
  127.  
  128.  
  129.      Page 2                                         (printed 10/24/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  137.  
  138.  
  139.  
  140.           ----ccccoooonnnnffffiiiigggg _c_o_n_f_i_g_u_r_a_t_i_o_n__f_i_l_e
  141.                Names the configuration file, which specifies resources
  142.                to control the behavior of _x_d_m. /_v_a_r/_X_1_1/_x_d_m/_x_d_m-_c_o_n_f_i_g
  143.                is the default.  See the section CCCCoooonnnnffffiiiigggguuuurrrraaaattttiiiioooonnnn FFFFiiiilllleeee.
  144.  
  145.           ----nnnnooooddddaaaaeeeemmmmoooonnnn
  146.                Specifies ``false'' as the value for the
  147.                DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....ddddaaaaeeeemmmmoooonnnnMMMMooooddddeeee resource.  This suppresses
  148.                the normal daemon behavior, which is for _x_d_m to close
  149.                all file descriptors, disassociate itself from the
  150.                controlling terminal, and put itself in the background
  151.                when it first starts up.
  152.  
  153.           ----ddddeeeebbbbuuuugggg _d_e_b_u_g__l_e_v_e_l
  154.                Specifies the numeric value for the
  155.                DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....ddddeeeebbbbuuuuggggLLLLeeeevvvveeeellll resource.  A non-zero value
  156.                causes _x_d_m to print lots of debugging statements to the
  157.                terminal; it also disables the
  158.                DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....ddddaaaaeeeemmmmoooonnnnMMMMooooddddeeee resource, forcing _x_d_m to run
  159.                synchronously.  To interpret these debugging messages,
  160.                a copy of the source code for _x_d_m is almost a
  161.                necessity.  No attempt has been made to rationalize or
  162.                standardize the output.
  163.  
  164.           ----eeeerrrrrrrroooorrrr _e_r_r_o_r__l_o_g__f_i_l_e
  165.                Specifies the value for the DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....eeeerrrrrrrroooorrrrLLLLooooggggFFFFiiiilllleeee
  166.                resource.  This file contains errors from _x_d_m as well
  167.                as anything written to stderr by the various scripts
  168.                and programs run during the progress of the session.
  169.  
  170.           ----rrrreeeessssoooouuuurrrrcccceeeessss _r_e_s_o_u_r_c_e__f_i_l_e
  171.                Specifies the value for the DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr****rrrreeeessssoooouuuurrrrcccceeeessss
  172.                resource.  This file is loaded using _x_r_d_b to specify
  173.                configuration parameters for the authentication widget.
  174.  
  175.           ----sssseeeerrrrvvvveeeerrrr _s_e_r_v_e_r__e_n_t_r_y
  176.                Specifies the value for the DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....sssseeeerrrrvvvveeeerrrrssss
  177.                resource.  See the section LLLLooooccccaaaallll SSSSeeeerrrrvvvveeeerrrr SSSSppppeeeecccciiiiffffiiiiccccaaaattttiiiioooonnnn
  178.                for a description of this resource.
  179.  
  180.           ----uuuuddddppppPPPPoooorrrrtttt _p_o_r_t__n_u_m_b_e_r
  181.                Specifies the value for the DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....rrrreeeeqqqquuuueeeessssttttPPPPoooorrrrtttt
  182.                resource.  This sets the port-number which _x_d_m will
  183.                monitor for XDMCP requests.  As XDMCP uses the
  184.                registered well-known UDP port 177, this resource
  185.                should not be changed except for debugging.
  186.  
  187.           ----sssseeeessssssssiiiioooonnnn _s_e_s_s_i_o_n__p_r_o_g_r_a_m
  188.                Specifies the value for the DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr****sssseeeessssssssiiiioooonnnn
  189.                resource.  This indicates the program to run as the
  190.                session after the user has logged in.
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                                         (printed 10/24/98)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  203.  
  204.  
  205.  
  206.           ----xxxxrrrrmmmm _r_e_s_o_u_r_c_e__s_p_e_c_i_f_i_c_a_t_i_o_n
  207.                Allows an arbitrary resource to be specified, as in
  208.                most X Toolkit applications.
  209.  
  210.      LLLLOOOOGGGGIIIINNNN DDDDEEEEFFFFAAAAUUUULLLLTTTTSSSS ((((SSSSGGGGIIII----ssssppppeeeecccciiiiffffiiiicccc))))
  211.           When _x_d_m's authentication widget is used to perform user
  212.           authentication, _x_d_m enforces the following login defaults,
  213.           which are specified in the file /_e_t_c/_d_e_f_a_u_l_t/_l_o_g_i_n.
  214.  
  215.           CONSOLE=_d_e_v_i_c_e   If this is set to /dev/console, root logins
  216.                            are restricted to the first local display
  217.                            in the xservers file.  If this is set to
  218.                            another value, root logins via xdm are
  219.                            disallowed.  If undefined, root can log in
  220.                            on any display.
  221.  
  222.           PASSREQ=NO       Determines whether all accounts must have
  223.                            passwords.  If YES, and user has no
  224.                            password, they will be prompted for one at
  225.                            login time.
  226.  
  227.           MANDPASS=NO      Like PASSREQ, but won't allow users with no
  228.                            password to log in.
  229.  
  230.           UMASK=022        Default umask, in octal.
  231.  
  232.           TIMEOUT=60       If login attempt is not completed within
  233.                            TIMEOUT seconds from first key press, the
  234.                            session is restarted.
  235.  
  236.           SLEEPTIME=1      Sleep for this many seconds before issuing
  237.                            "login incorrect" message (maximum 60
  238.                            seconds).
  239.  
  240.           DISABLETIME=0    After LOGFAILURES or MAXTRYS unsuccessful
  241.                            attempts, sleep for DISABLETIME seconds
  242.                            before restarting.
  243.  
  244.           MAXTRYS=3        Restart session after MAXTRYS unsuccessful
  245.                            attempts (0 = unlimited attempts).
  246.  
  247.           LOGFAILURES=3    If there are LOGFAILURES consecutive
  248.                            unsuccessful login attempts, each of them
  249.                            will be logged in /var/adm/loginlog, if it
  250.                            exists.  LOGFAILURES has a maximum value of
  251.                            20.  Note: Users get at most the minimum of
  252.                            (MAXTRYS, LOGFAILURES) unsuccessful
  253.                            attempts.
  254.  
  255.           IDLEWEEKS=-1     If non-negative, specify a grace period
  256.                            during which users with expired passwords
  257.                            will be allowed to enter a new password.
  258.  
  259.  
  260.  
  261.      Page 4                                         (printed 10/24/98)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  269.  
  270.  
  271.  
  272.                            In other words, accounts with expired
  273.                            passwords can stay idle up to this long
  274.                            before being "locked out".  If IDLEWEEKS is
  275.                            zero, there is no grace period, and expired
  276.                            passwords are the same as invalidated
  277.                            passwords.
  278.  
  279.           SYSLOG=FAIL      Log to syslog all login failures
  280.                            (SYSLOG=FAIL) or all successes and failures
  281.                            (SYSLOG=ALL).  Log entries are written to
  282.                            the LOG_AUTH facility (see _s_y_s_l_o_g(3) and
  283.                            _s_y_s_l_o_g_d(1M) for details).  No messages are
  284.                            sent to syslog if not set.  Note that this
  285.                            is separate from the login log,
  286.                            /_v_a_r/_a_d_m/_l_o_g_i_n_l_o_g.
  287.  
  288.           INITGROUPS=YES   If YES, make the user session be a member
  289.                            of all of the user's supplementary groups
  290.                            (see _m_u_l_t_g_r_p_s(1) or _i_n_i_t_g_r_o_u_p_s(3).  Note
  291.                            that some clients, such as _x_t_e_r_m(1) and
  292.                            _x_w_s_h(1G) , may call _i_n_i_t_g_r_o_u_p_s(3) even if
  293.                            _x_d_m does not.
  294.  
  295.           SVR4_SIGNALS=NO  Use the SVR4 semantics for the SIGXCPU and
  296.                            SIGXFSZ signals. If SVR4_SIGNALS=YES, then
  297.                            the SVR4 semantics are preserved and all
  298.                            processes will ignore SIGXCPU and SIGXFSZ
  299.                            by default.  If SVR4_SIGNALS=NO, then these
  300.                            two signals will retain their default
  301.                            action, which is to cause the receiving
  302.                            process to core dump.  If users intend to
  303.                            make use of the CPU and filesize resource
  304.                            limits, SVR4_SIGNALS should be set to NO.
  305.                            Note that using these signals while
  306.                            SVR4_SIGNALS is set to YES will cause
  307.                            behavior which varies depending on the
  308.                            login shell.  This setting has no affect on
  309.                            processes which explicitly alter the
  310.                            behavior of these signals using the
  311.                            _s_i_g_n_a_l(2) system call.
  312.  
  313.           SITECHECK=       Use an external program to authenticate
  314.                            users instead of using the encrypted
  315.                            password field.  This allows sites to
  316.                            implement other means of authentication,
  317.                            such as card keys, biometrics, etc.  The
  318.                            program is invoked with user name as the
  319.                            first argument, and remote hostname and
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.      Page 5                                         (printed 10/24/98)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  335.  
  336.  
  337.  
  338.                            username, if applicable.  The action taken
  339.                            depends on exit status, as follows:
  340.                                0      - success: user was
  341.                                         authenticated, log in.
  342.                                1 or 2 - failure; restart the
  343.                                         session.
  344.                                other  - use normal UNIX
  345.                                         authentication.
  346.                            If the program is not owned by root, is
  347.                            writable by others, or cannot be executed,
  348.                            normal password authentication is
  349.                            performed.  It is recommended that the
  350.                            program be given a mode of 500.  A
  351.                            sitecheck program to be used with _x_d_m must
  352.                            create and manage its own window.  WARNING!
  353.                            Because this option has the potential to
  354.                            defeat normal IRIX security, any program
  355.                            used in this way must be designed and
  356.                            tested very carefully.
  357.  
  358.           LOCKOUT=0        If non-zero, after this number of
  359.                            consecutive unsuccessful login attempts by
  360.                            the same user, by all instances of xdm and
  361.                            login, lock the account by invoking "passwd
  362.                            -l username".
  363.  
  364.           LOCKOUTEXEMPT=   If LOCKOUT is greater than zero, the users
  365.                            listed as LOCKOUTEXEMPT will NOT be subject
  366.                            to the LOCKOUT option.  Usernames are
  367.                            separated by spaces, the list must be
  368.                            terminated by end-of-line, maximum list
  369.                            length is 240 characters. LOCKOUTEXEMPT is
  370.                            ignored unless LOCKOUT is enabled, and the
  371.                            list is not empty. Including privileged
  372.                            accounts (such as _rrrr_oooo_oooo_tttt) in the
  373.                            LOCKOUTEXEMPT list, is not recommended, as
  374.                            it allows an indefinite number of attacks
  375.                            on the exempt accounts. Also, if
  376.                            LOCKOUTEXEMPT is enabled, the
  377.                            /etc/default/login file should be given a
  378.                            mode 400 or 600 to prevent unauthorized
  379.                            viewing and/or tampering with the
  380.                            LOCKOUTEXEMPT list.
  381.  
  382.           If user authentication is performed by a visual login
  383.           program such as _c_l_o_g_i_n(1), _x_d_m enforces only UMASK and
  384.           SVR4_SIGNALS.
  385.  
  386.      RRRREEEESSSSOOOOUUUURRRRCCCCEEEESSSS
  387.           At many stages the actions of _x_d_m can be controlled through
  388.           the use of its configuration file, which is in the X
  389.           resource format.  Some resources modify the behavior of _x_d_m
  390.  
  391.  
  392.  
  393.      Page 6                                         (printed 10/24/98)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  401.  
  402.  
  403.  
  404.           on all displays, while others modify its behavior on a
  405.           single display.  Where actions relate to a specific display,
  406.           the display name is inserted into the resource name between
  407.           ``DisplayManager'' and the final resource name segment.
  408.  
  409.           For local displays, the resource name and class are as read
  410.           from the _X_s_e_r_v_e_r_s file.
  411.  
  412.           For remote displays, the resource name is what the network
  413.           address of the display resolves to.  See the rrrreeeemmmmoooovvvveeeeDDDDoooommmmaaaaiiiinnnn
  414.           resource.  The name must match exactly; _x_d_m is not aware of
  415.           all the network aliases that might reach a given display.
  416.           If the name resolve fails, the address is used.  The
  417.           resource class is as sent by the display in the XDMCP Manage
  418.           request.
  419.  
  420.           Because the resource manager uses colons to separate the
  421.           name of the resource from its value and dots to separate
  422.           resource name parts, _x_d_m substitutes underscores for both
  423.           dots and colons when generating the resource name.  For
  424.           example, DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....eeeexxxxppppoooo____xxxx____oooorrrrgggg____0000....ssssttttaaaarrrrttttuuuupppp is the name of
  425.           the resource which defines the startup shell file for the
  426.           ``expo.x.org:0'' display.
  427.  
  428.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....sssseeeerrrrvvvveeeerrrrssss
  429.                This resource either specifies a file name full of
  430.                server entries, one per line (if the value starts with
  431.                a slash), or a single server entry.  See the section
  432.                LLLLooooccccaaaallll SSSSeeeerrrrvvvveeeerrrr SSSSppppeeeecccciiiiffffiiiiccccaaaattttiiiioooonnnn for the details.
  433.  
  434.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....rrrreeeeqqqquuuueeeessssttttPPPPoooorrrrtttt
  435.                This indicates the UDP port number which _x_d_m uses to
  436.                listen for incoming XDMCP requests.  Unless you need to
  437.                debug the system, leave this with its default value of
  438.                177.
  439.  
  440.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....eeeerrrrrrrroooorrrrLLLLooooggggFFFFiiiilllleeee
  441.                Error output is normally directed at the system
  442.                console.  To redirect it, set this resource to a file
  443.                name.  A method to send these messages to _s_y_s_l_o_g should
  444.                be developed for systems which support it; however, the
  445.                wide variety of interfaces precludes any system-
  446.                independent implementation.  This file also contains
  447.                any output directed to stderr by the _X_s_e_t_u_p, _X_s_t_a_r_t_u_p,
  448.                _X_s_e_s_s_i_o_n and _X_r_e_s_e_t files, so it will contain
  449.                descriptions of problems in those scripts as well.
  450.  
  451.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....ddddeeeebbbbuuuuggggLLLLeeeevvvveeeellll
  452.                If the integer value of this resource is greater than
  453.                zero, reams of debugging information will be printed.
  454.                It also disables daemon mode, which would redirect the
  455.                information into the bit-bucket, and allows non-root
  456.  
  457.  
  458.  
  459.      Page 7                                         (printed 10/24/98)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  467.  
  468.  
  469.  
  470.                users to run _x_d_m, which would normally not be useful.
  471.  
  472.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....ddddaaaaeeeemmmmoooonnnnMMMMooooddddeeee
  473.                Normally, _x_d_m attempts to make itself into a daemon
  474.                process unassociated with any terminal.  This is
  475.                accomplished by forking and leaving the parent process
  476.                to exit, then closing file descriptors and releasing
  477.                the controlling terminal.  In some environments this is
  478.                not desired (in particular, when debugging).  Setting
  479.                this resource to ``false'' will disable this feature.
  480.  
  481.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....ppppiiiiddddFFFFiiiilllleeee
  482.                The filename specified will be created to contain an
  483.                ASCII representation of the process-id of the main _x_d_m
  484.                process.  _X_d_m also uses file locking on this file to
  485.                attempt to eliminate multiple daemons running on the
  486.                same machine, which would cause quite a bit of havoc.
  487.  
  488.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....lllloooocccckkkkPPPPiiiiddddFFFFiiiilllleeee
  489.                This is the resource which controls whether _x_d_m uses
  490.                file locking to keep multiple display managers from
  491.                running amok.  On System V, this uses the _l_o_c_k_f library
  492.                call, while on BSD it uses _f_l_o_c_k.
  493.  
  494.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....aaaauuuutttthhhhDDDDiiiirrrr
  495.                This names a directory under which _x_d_m stores
  496.                authorization files while initializing the session.
  497.                The default value is /_v_a_r/_X_1_1/_x_d_m.  Can be overridden
  498.                for specific displays by
  499.                DisplayManager._D_I_S_P_L_A_Y.authFile.
  500.  
  501.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....aaaauuuuttttooooRRRReeeessssccccaaaannnn
  502.                This boolean controls whether _x_d_m rescans the
  503.                configuration, servers, access control and
  504.                authentication keys files after a session terminates
  505.                and the files have changed.  By default it is ``true.''
  506.                You can force _x_d_m to reread these files by sending a
  507.                SIGHUP to the main process.
  508.  
  509.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....rrrreeeemmmmoooovvvveeeeDDDDoooommmmaaaaiiiinnnnnnnnaaaammmmeeee
  510.                When computing the display name for XDMCP clients, the
  511.                name resolver will typically create a fully qualified
  512.                host name for the terminal.  As this is sometimes
  513.                confusing, _x_d_m will remove the domain name portion of
  514.                the host name if it is the same as the domain name of
  515.                the local host when this variable is set.  By default
  516.                the value is ``true.''
  517.  
  518.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....kkkkeeeeyyyyFFFFiiiilllleeee
  519.                XDM-AUTHENTICATION-1 style XDMCP authentication
  520.                requires that a private key be shared between _x_d_m and
  521.                the terminal.  This resource specifies the file
  522.  
  523.  
  524.  
  525.      Page 8                                         (printed 10/24/98)
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  533.  
  534.  
  535.  
  536.                containing those values.  Each entry in the file
  537.                consists of a display name and the shared key.  By
  538.                default, _x_d_m does not include support for XDM-
  539.                AUTHENTICATION-1, as it requires DES which is not
  540.                generally distributable because of United States export
  541.                restrictions.
  542.  
  543.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....aaaacccccccceeeessssssssFFFFiiiilllleeee
  544.                To prevent unauthorized XDMCP service and to allow
  545.                forwarding of XDMCP IndirectQuery requests, this file
  546.                contains a database of hostnames which are either
  547.                allowed direct access to this machine, or have a list
  548.                of hosts to which queries should be forwarded to.  The
  549.                format of this file is described in the section XXXXDDDDMMMMCCCCPPPP
  550.                AAAAcccccccceeeessssssss CCCCoooonnnnttttrrrroooollll....
  551.  
  552.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....eeeexxxxppppoooorrrrttttLLLLiiiisssstttt
  553.                A list of additional environment variables, separated
  554.                by white space, to pass on to the _X_s_e_t_u_p, _X_s_t_a_r_t_u_p,
  555.                _X_s_e_s_s_i_o_n, and _X_r_e_s_e_t programs.
  556.  
  557.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....rrrraaaannnnddddoooommmmFFFFiiiilllleeee
  558.                A file to checksum to generate the seed of
  559.                authorization keys.  This should be a file that changes
  560.                frequently.  The default is /_d_e_v/_m_e_m.
  561.  
  562.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....ggggrrrreeeeeeeetttteeeerrrrLLLLiiiibbbb
  563.                On systems that support a dynamically-loadable greeter
  564.                library, the name of the library.  Default is
  565.                _l_i_b_X_d_m_G_r_e_e_t._s_o.  SGI does not support dynamically-
  566.                loadable libraries.
  567.  
  568.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....cccchhhhooooiiiicccceeeeTTTTiiiimmmmeeeeoooouuuutttt
  569.                Number of seconds to wait for display to respond after
  570.                user has selected a host from the chooser.  If the
  571.                display sends an XDMCP IndirectQuery within this time,
  572.                the request is forwarded to the chosen host.
  573.                Otherwise, it is assumed to be from a new session and
  574.                the chooser is offered again.  Default is 15.
  575.  
  576.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....rrrreeeessssoooouuuurrrrcccceeeessss
  577.                This resource specifies the name of the file to be
  578.                loaded by _x_r_d_b as the resource database onto the root
  579.                window of screen 0 of the display.  The _X_s_e_t_u_p program,
  580.                the Login widget, and _c_h_o_o_s_e_r will use the resources
  581.                set in this file.  This resource data base is loaded
  582.                just before the authentication procedure is started, so
  583.                it can control the appearance of the login window.  See
  584.                the section AAAAuuuutttthhhheeeennnnttttiiiiccccaaaattttiiiioooonnnn WWWWiiiiddddggggeeeetttt,,,, which describes the
  585.                various resources that are appropriate to place in this
  586.                file.  There is no default value for this resource, but
  587.                /_v_a_r/_X_1_1/_x_d_m/_X_r_e_s_o_u_r_c_e_s is the conventional name.
  588.  
  589.  
  590.  
  591.      Page 9                                         (printed 10/24/98)
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  599.  
  600.  
  601.  
  602.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....cccchhhhoooooooosssseeeerrrr
  603.                Specifies the program run to offer a host menu for
  604.                Indirect queries redirected to the special host name
  605.                CHOOSER.  /_v_a_r/_X_1_1/_x_d_m/_c_h_o_o_s_e_r is the default.  See the
  606.                sections XXXXDDDDMMMMCCCCPPPP AAAAcccccccceeeessssssss CCCCoooonnnnttttrrrroooollll and CCCChhhhoooooooosssseeeerrrr.
  607.  
  608.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....xxxxrrrrddddbbbb
  609.                Specifies the program used to load the resources.  By
  610.                default, _x_d_m uses /_u_s_r/_b_i_n/_X_1_1/_x_r_d_b.
  611.  
  612.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....ccccpppppppp
  613.                This specifies the name of the C preprocessor which is
  614.                used by _x_r_d_b.
  615.  
  616.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....sssseeeettttuuuupppp
  617.                This specifies a program which is run (as root) before
  618.                offering the Login window.  This may be used to change
  619.                the appearance of the screen around the Login window or
  620.                to put up other windows (e.g., you may want to run
  621.                _x_c_o_n_s_o_l_e here).  By default, no program is run.  The
  622.                conventional name for a file used here is _X_s_e_t_u_p.  See
  623.                the section SSSSeeeettttuuuupppp PPPPrrrrooooggggrrrraaaammmm....
  624.  
  625.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....ssssttttaaaarrrrttttuuuupppp
  626.                This specifies a program which is run (as root) after
  627.                the authentication process succeeds.  By default, no
  628.                program is run.  The conventional name for a file used
  629.                here is _X_s_t_a_r_t_u_p.  See the section SSSSttttaaaarrrrttttuuuupppp PPPPrrrrooooggggrrrraaaammmm....
  630.  
  631.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....sssseeeessssssssiiiioooonnnn
  632.                This specifies the session to be executed (not running
  633.                as root).  By default, /_u_s_r/_b_i_n/_X_1_1/_x_t_e_r_m is run.  The
  634.                conventional name is _X_s_e_s_s_i_o_n.  See the section SSSSeeeessssssssiiiioooonnnn
  635.                PPPPrrrrooooggggrrrraaaammmm....
  636.  
  637.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....rrrreeeesssseeeetttt
  638.                This specifies a program which is run (as root) after
  639.                the session terminates.  By default, no program is run.
  640.                The conventional name is _X_r_e_s_e_t.  See the section RRRReeeesssseeeetttt
  641.                PPPPrrrrooooggggrrrraaaammmm....
  642.  
  643.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....ooooppppeeeennnnDDDDeeeellllaaaayyyy
  644.  
  645.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....ooooppppeeeennnnRRRReeeeppppeeeeaaaatttt
  646.  
  647.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....ooooppppeeeennnnTTTTiiiimmmmeeeeoooouuuutttt
  648.  
  649.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....ssssttttaaaarrrrttttAAAAtttttttteeeemmmmppppttttssss
  650.                These numeric resources control the behavior of _x_d_m
  651.                when attempting to open intransigent servers.
  652.                ooooppppeeeennnnDDDDeeeellllaaaayyyy is the length of the pause (in seconds)
  653.                between successive attempts, ooooppppeeeennnnRRRReeeeppppeeeeaaaatttt is the number
  654.  
  655.  
  656.  
  657.      Page 10                                        (printed 10/24/98)
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  665.  
  666.  
  667.  
  668.                of attempts to make, ooooppppeeeennnnTTTTiiiimmmmeeeeoooouuuutttt is the amount of time
  669.                to wait while actually attempting the open (i.e., the
  670.                maximum time spent in the _c_o_n_n_e_c_t(2) system call) and
  671.                ssssttttaaaarrrrttttAAAAtttttttteeeemmmmppppttttssss is the number of times this entire
  672.                process is done before giving up on the server.  After
  673.                ooooppppeeeennnnRRRReeeeppppeeeeaaaatttt attempts have been made, or if ooooppppeeeennnnTTTTiiiimmmmeeeeoooouuuutttt
  674.                seconds elapse in any particular attempt, _x_d_m
  675.                terminates and restarts the server, attempting to
  676.                connect again.  This process is repeated ssssttttaaaarrrrttttAAAAtttttttteeeemmmmppppttttssss
  677.                times, at which point the display is declared dead and
  678.                disabled.  Although this behavior may seem arbitrary,
  679.                it has been empirically developed and works quite well
  680.                on most systems.  The default values are 5 for
  681.                ooooppppeeeennnnDDDDeeeellllaaaayyyy, 5 for ooooppppeeeennnnRRRReeeeppppeeeeaaaatttt, 30 for ooooppppeeeennnnTTTTiiiimmmmeeeeoooouuuutttt and 4
  682.                for ssssttttaaaarrrrttttAAAAtttttttteeeemmmmppppttttssss.
  683.  
  684.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....ppppiiiinnnnggggIIIInnnntttteeeerrrrvvvvaaaallll
  685.  
  686.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....ppppiiiinnnnggggTTTTiiiimmmmeeeeoooouuuutttt
  687.                To discover when remote displays disappear, _x_d_m
  688.                occasionally pings them, using an X connection and
  689.                _X_S_y_n_c calls.  ppppiiiinnnnggggIIIInnnntttteeeerrrrvvvvaaaallll specifies the time (in
  690.                minutes) between each ping attempt, ppppiiiinnnnggggTTTTiiiimmmmeeeeoooouuuutttt
  691.                specifies the maximum amount of time (in minutes) to
  692.                wait for the terminal to respond to the request.  If
  693.                the terminal does not respond, the session is declared
  694.                dead and terminated.  By default, both are set to 5
  695.                minutes.  If you frequently use X terminals which can
  696.                become isolated from the managing host, you may wish to
  697.                increase this value.  The only worry is that sessions
  698.                will continue to exist after the terminal has been
  699.                accidentally disabled.  _x_d_m will not ping local
  700.                displays.  Although it would seem harmless, it is
  701.                unpleasant when the workstation session is terminated
  702.                as a result of the server hanging for NFS service and
  703.                not responding to the ping.
  704.  
  705.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....tttteeeerrrrmmmmiiiinnnnaaaatttteeeeSSSSeeeerrrrvvvveeeerrrr
  706.                This boolean resource specifies whether the X server
  707.                should be terminated when a session terminates (instead
  708.                of resetting it).  This option can be used when the
  709.                server tends to grow without bound over time, in order
  710.                to limit the amount of time the server is run.  The
  711.                default value is ``false.''
  712.  
  713.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....uuuusssseeeerrrrPPPPaaaatttthhhh
  714.                _X_d_m sets the PATH environment variable for the session
  715.                to this value.  It should be a colon separated list of
  716.                directories; see _s_h(1) for a full description.
  717.                ``:/bin:/usr/bin:/usr/X11/bin:/usr/ucb'' is a common
  718.                setting.  The default value can be specified at build
  719.                time in the X system configuration file with
  720.  
  721.  
  722.  
  723.      Page 11                                        (printed 10/24/98)
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  731.  
  732.  
  733.  
  734.                DefaultUserPath.
  735.  
  736.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....ssssyyyysssstttteeeemmmmPPPPaaaatttthhhh
  737.                _X_d_m sets the PATH environment variable for the startup
  738.                and reset scripts to the value of this resource.  The
  739.                default for this resource is specified at build time by
  740.                the DefaultSystemPath entry in the system configuration
  741.                file; ``/etc:/bin:/usr/bin:/usr/X11/bin:/usr/ucb'' is a
  742.                common choice.  Note the absence of ``.'' from this
  743.                entry.  This is a good practice to follow for root; it
  744.                avoids many common Trojan Horse system penetration
  745.                schemes.
  746.  
  747.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....ssssyyyysssstttteeeemmmmSSSShhhheeeellllllll
  748.                _X_d_m sets the SHELL environment variable for the startup
  749.                and reset scripts to the value of this resource.  It is
  750.                /_b_i_n/_s_h by default.
  751.  
  752.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....ffffaaaaiiiillllssssaaaaffffeeeeCCCClllliiiieeeennnntttt
  753.                If the default session fails to execute, _x_d_m will fall
  754.                back to this program.  This program is executed with no
  755.                arguments, but executes using the same environment
  756.                variables as the session would have had (see the
  757.                section SSSSeeeessssssssiiiioooonnnn PPPPrrrrooooggggrrrraaaammmm).  By default,
  758.                /_u_s_r/_b_i_n/_X_1_1/_x_t_e_r_m is used.
  759.  
  760.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....ggggrrrraaaabbbbSSSSeeeerrrrvvvveeeerrrr
  761.  
  762.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....ggggrrrraaaabbbbTTTTiiiimmmmeeeeoooouuuutttt
  763.                To improve security, _x_d_m grabs the server and keyboard
  764.                while reading the login name and password.  The
  765.                ggggrrrraaaabbbbSSSSeeeerrrrvvvveeeerrrr resource specifies if the server should be
  766.                held for the duration of the name/password reading.
  767.                When ``false,'' the server is ungrabbed after the
  768.                keyboard grab succeeds, otherwise the server is grabbed
  769.                until just before the session begins.  The default is
  770.                ``false.''  The ggggrrrraaaabbbbTTTTiiiimmmmeeeeoooouuuutttt resource specifies the
  771.                maximum time _x_d_m will wait for the grab to succeed.
  772.                The grab may fail if some other client has the server
  773.                grabbed, or possibly if the network latencies are very
  774.                high.  This resource has a default value of 3 seconds;
  775.                you should be cautious when raising it, as a user can
  776.                be spoofed by a look-alike window on the display.  If
  777.                the grab fails, _x_d_m kills and restarts the server (if
  778.                possible) and the session.
  779.  
  780.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....aaaauuuutttthhhhoooorrrriiiizzzzeeee
  781.  
  782.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....aaaauuuutttthhhhNNNNaaaammmmeeee
  783.                aaaauuuutttthhhhoooorrrriiiizzzzeeee is a boolean resource which controls whether
  784.                _x_d_m generates and uses authorization for the local
  785.                server connections.  If authorization is used, aaaauuuutttthhhhNNNNaaaammmmeeee
  786.  
  787.  
  788.  
  789.      Page 12                                        (printed 10/24/98)
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  797.  
  798.  
  799.  
  800.                is a list of authorization mechanisms to use, separated
  801.                by white space.  XDMCP connections dynamically specify
  802.                which authorization mechanisms are supported, so
  803.                aaaauuuutttthhhhNNNNaaaammmmeeee is ignored in this case.  When aaaauuuutttthhhhoooorrrriiiizzzzeeee is
  804.                set for a display and authorization is not available,
  805.                the user is informed by having a different message
  806.                displayed in the login widget.  By default, aaaauuuutttthhhhoooorrrriiiizzzzeeee
  807.                is ``off.''  aaaauuuutttthhhhNNNNaaaammmmeeee is ``MIT-MAGIC-COOKIE-1,'' or, if
  808.                XDM-AUTHORIZATION-1 is available, ``XDM-AUTHORIZATION-
  809.                1 MIT-MAGIC-COOKIE-1.''
  810.  
  811.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....aaaauuuutttthhhhFFFFiiiilllleeee
  812.                This file is used to communicate the authorization data
  813.                from _x_d_m to the server, using the ----aaaauuuutttthhhh server command
  814.                line option.  It should be kept in a directory which is
  815.                not world-writable as it could easily be removed,
  816.                disabling the authorization mechanism in the server.
  817.                If not specified, a name is generated from
  818.                DisplayManager.authDir and the name of the display.
  819.  
  820.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....aaaauuuutttthhhhCCCCoooommmmppppllllaaaaiiiinnnn
  821.                If set to ``false,'' disables the use of the
  822.                uuuunnnnsssseeeeccccuuuurrrreeeeGGGGrrrreeeeeeeettttiiiinnnngggg in the login window.  See the section
  823.                AAAAuuuutttthhhheeeennnnttttiiiiccccaaaattttiiiioooonnnn WWWWiiiiddddggggeeeetttt....  The default is ``false.''
  824.  
  825.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....rrrreeeesssseeeettttSSSSiiiiggggnnnnaaaallll
  826.                The number of the signal _x_d_m sends to reset the server.
  827.                See the section CCCCoooonnnnttttrrrroooolllllllliiiinnnngggg tttthhhheeee SSSSeeeerrrrvvvveeeerrrr....  The default is
  828.                1 (SIGHUP).
  829.  
  830.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....tttteeeerrrrmmmmSSSSiiiiggggnnnnaaaallll
  831.                The number of the signal _x_d_m sends to terminate the
  832.                server.  See the section CCCCoooonnnnttttrrrroooolllllllliiiinnnngggg tttthhhheeee SSSSeeeerrrrvvvveeeerrrr....  The
  833.                default is 15 (SIGTERM).
  834.  
  835.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....rrrreeeesssseeeettttFFFFoooorrrrAAAAuuuutttthhhh
  836.                The original implementation of authorization in the
  837.                sample server reread the authorization file at server
  838.                reset time, instead of when checking the initial
  839.                connection.  As _x_d_m generates the authorization
  840.                information just before connecting to the display, an
  841.                old server would not get up-to-date authorization
  842.                information.  This resource causes _x_d_m to send SIGHUP
  843.                to the server after setting up the file, causing an
  844.                additional server reset to occur, during which time the
  845.                new authorization information will be read.  The
  846.                default is ``false,'' which will work for all MIT
  847.                servers.
  848.  
  849.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....uuuusssseeeerrrrAAAAuuuutttthhhhDDDDiiiirrrr
  850.                When _x_d_m is unable to write to the usual user
  851.                authorization file ($HOME/.Xauthority), it creates a
  852.  
  853.  
  854.  
  855.      Page 13                                        (printed 10/24/98)
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  863.  
  864.  
  865.  
  866.                unique file name in this directory and points the
  867.                environment variable XAUTHORITY at the created file.
  868.                It uses /_t_m_p by default.
  869.  
  870.      CCCCOOOONNNNFFFFIIIIGGGGUUUURRRRAAAATTTTIIIIOOOONNNN FFFFIIIILLLLEEEE
  871.           First, the _x_d_m configuration file should be set up.  Make a
  872.           directory (usually /_v_a_r/_X_1_1/_x_d_m).  On SGI systems, the
  873.           default configuration files is /var/X11/xdm/xdm-config.
  874.  
  875.           Here is a reasonable configuration file, which could be
  876.           named _x_d_m-_c_o_n_f_i_g:
  877.  
  878.  
  879.                DisplayManager.servers:            /var/X11/xdm/Xservers
  880.                DisplayManager.errorLogFile:       /var/X11/xdm/xdm-errors
  881.                DisplayManager*resources:          /var/X11/xdm/Xresources
  882.                DisplayManager*startup:            /var/X11/xdm/Xstartup
  883.                DisplayManager*session:            /var/X11/xdm/Xsession
  884.                DisplayManager.pidFile:            /var/X11/xdm/xdm-pid
  885.                DisplayManager._0.authorize:       true
  886.                DisplayManager*authorize:          false
  887.  
  888.  
  889.           Note that this file mostly contains references to other
  890.           files.  Note also that some of the resources are specified
  891.           with ``*'' separating the components.  These resources can
  892.           be made unique for each different display, by replacing the
  893.           ``*'' with the display-name, but normally this is not very
  894.           useful.  See the RRRReeeessssoooouuuurrrrcccceeeessss section for a complete
  895.           discussion.
  896.  
  897.      XXXXDDDDMMMMCCCCPPPP AAAACCCCCCCCEEEESSSSSSSS CCCCOOOONNNNTTTTRRRROOOOLLLL
  898.           The database file specified by the DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....aaaacccccccceeeessssssssFFFFiiiilllleeee
  899.           provides information which _x_d_m uses to control access from
  900.           displays requesting XDMCP service.  This file contains three
  901.           types of entries:  entries which control the response to
  902.           Direct and Broadcast queries, entries which control the
  903.           response to Indirect queries, and macro definitions.
  904.  
  905.           The format of the Direct entries is simple, either a host
  906.           name or a pattern, which is distinguished from a host name
  907.           by the inclusion of one or more meta characters (`*' matches
  908.           any sequence of 0 or more characters, and `?' matches any
  909.           single character) which are compared against the host name
  910.           of the display device.  If the entry is a host name, all
  911.           comparisons are done using network addresses, so any name
  912.           which converts to the correct network address may be used.
  913.           For patterns, only canonical host names are used in the
  914.           comparison, so ensure that you do not attempt to match
  915.           aliases.  Preceding either a host name or a pattern with a
  916.           `!' character causes hosts which match that entry to be
  917.           excluded.
  918.  
  919.  
  920.  
  921.      Page 14                                        (printed 10/24/98)
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  929.  
  930.  
  931.  
  932.           An Indirect entry also contains a host name or pattern, but
  933.           follows it with a list of host names or macros to which
  934.           indirect queries should be sent.
  935.  
  936.           A macro definition contains a macro name and a list of host
  937.           names and other macros that the macro expands to.  To
  938.           distinguish macros from hostnames, macro names start with a
  939.           `%' character.  Macros may be nested.
  940.  
  941.           Indirect entries may also specify to have _x_d_m run _c_h_o_o_s_e_r to
  942.           offer a menu of hosts to connect to.  See the section
  943.           CCCChhhhoooooooosssseeeerrrr.
  944.  
  945.           When checking access for a particular display host, each
  946.           entry is scanned in turn and the first matching entry
  947.           determines the response.  Direct and Broadcast entries are
  948.           ignored when scanning for an Indirect entry and vice-versa.
  949.  
  950.           Blank lines are ignored, `#' is treated as a comment
  951.           delimiter causing the rest of that line to be ignored, and
  952.           `\_n_e_w_l_i_n_e' causes the newline to be ignored, allowing
  953.           indirect host lists to span multiple lines.
  954.  
  955.           Here is an example Xaccess file:
  956.  
  957.           #
  958.           # Xaccess - XDMCP access control file
  959.           #
  960.  
  961.           #
  962.           # Direct/Broadcast query entries
  963.           #
  964.  
  965.           !xtra.lcs.mit.edu   # disallow direct/broadcast service for xtra
  966.           bambi.ogi.edu       # allow access from this particular display
  967.           *.lcs.mit.edu       # allow access from any display in LCS
  968.  
  969.           #
  970.           # Indirect query entries
  971.           #
  972.  
  973.           %HOSTS              expo.lcs.mit.edu xenon.lcs.mit.edu \
  974.                               excess.lcs.mit.edu kanga.lcs.mit.edu
  975.  
  976.           extract.lcs.mit.edu xenon.lcs.mit.edu   #force extract to contact xenon
  977.           !xtra.lcs.mit.edu   dummy               #disallow indirect access
  978.           *.lcs.mit.edu       %HOSTS              #all others get to choose
  979.  
  980.      CCCCHHHHOOOOOOOOSSSSEEEERRRR
  981.           For X terminals that do not offer a host menu for use with
  982.           Broadcast or Indirect queries, the _c_h_o_o_s_e_r program can do
  983.           this for them.  In the _X_a_c_c_e_s_s file, specify ``CHOOSER'' as
  984.  
  985.  
  986.  
  987.      Page 15                                        (printed 10/24/98)
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  995.  
  996.  
  997.  
  998.           the first entry in the Indirect host list.  _C_h_o_o_s_e_r will
  999.           send a Query request to each of the remaining host names in
  1000.           the list and offer a menu of all the hosts that respond.
  1001.  
  1002.           The list may consist of the word ``BROADCAST,'' in which
  1003.           case _c_h_o_o_s_e_r will send a Broadcast instead, again offering a
  1004.           menu of all hosts that respond.  Note that on some operating
  1005.           systems, UDP packets cannot be broadcast, so this feature
  1006.           will not work.
  1007.  
  1008.           Example _X_a_c_c_e_s_s file using _c_h_o_o_s_e_r:
  1009.  
  1010.           extract.lcs.mit.edu CHOOSER %HOSTS      #offer a menu of these hosts
  1011.           xtra.lcs.mit.edu    CHOOSER BROADCAST   #offer a menu of all hosts
  1012.  
  1013.           The program to use for _c_h_o_o_s_e_r is specified by the
  1014.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....cccchhhhoooooooosssseeeerrrr resource.  For more
  1015.           flexibility at this step, the chooser could be a shell
  1016.           script.  _C_h_o_o_s_e_r is the session manager here; it is run
  1017.           instead of a child _x_d_m to manage the display.
  1018.  
  1019.           Resources for this program can be put into the file named by
  1020.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....rrrreeeessssoooouuuurrrrcccceeeessss.
  1021.  
  1022.           When the user selects a host, _c_h_o_o_s_e_r prints the host
  1023.           chosen, which is read by the parent _x_d_m, and exits.  _x_d_m
  1024.           closes its connection to the X server, and the server resets
  1025.           and sends another IIIInnnnddddiiiirrrreeeecccctttt XDMCP request.  _x_d_m remembers the
  1026.           user's choice (for DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....cccchhhhooooiiiicccceeeeTTTTiiiimmmmeeeeoooouuuutttt seconds) and
  1027.           forwards the request to the chosen host, which starts a
  1028.           session on that display.
  1029.  
  1030.      LLLLOOOOCCCCAAAALLLL SSSSEEEERRRRVVVVEEEERRRR SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  1031.           The resource DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....sssseeeerrrrvvvveeeerrrrssss gives a server
  1032.           specification or, if the values starts with a slash (/), the
  1033.           name of a file containing server specifications, one per
  1034.           line.
  1035.  
  1036.           Each specification indicates a display which should
  1037.           constantly be managed and which is not using XDMCP.  This
  1038.           method is used typically for local servers only.  If the
  1039.           resource or the file named by the resource is empty, _x_d_m
  1040.           will offer XDMCP service only.
  1041.  
  1042.           Each specification consists of at least three parts:  a
  1043.           display name, a display class, a display type, and (for
  1044.           local servers) a command line to start the server.  A
  1045.           typical entry for local display number 0 would be:
  1046.  
  1047.             :0 Digital-QV local /usr/X11/bin/X :0
  1048.  
  1049.           The display types are:
  1050.  
  1051.  
  1052.  
  1053.      Page 16                                        (printed 10/24/98)
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  1061.  
  1062.  
  1063.  
  1064.           local     local display: _x_d_m must run the server
  1065.           foreign   remote display: _x_d_m opens an X connection to a running server
  1066.  
  1067.  
  1068.           The display name must be something that can be passed in the
  1069.           ----ddddiiiissssppppllllaaaayyyy option to an X program.  This string is used to
  1070.           generate the display-specific resource names, so be careful
  1071.           to match the names (e.g., use ``:0 local /usr/X11/bin/X :0''
  1072.           instead of ``localhost:0 local /usr/X11/bin/X :0'' if your
  1073.           other resources are specified as
  1074.           ``DisplayManager._0.session'').  The display class portion
  1075.           is also used in the display-specific resources, as the class
  1076.           of the resource.  This is useful if you have a large
  1077.           collection of similar displays (such as a corral of X
  1078.           terminals) and would like to set resources for groups of
  1079.           them.  When using XDMCP, the display is required to specify
  1080.           the display class, so the manual for your particular X
  1081.           terminal should document the display class string for your
  1082.           device.  If it doesn't, you can run _x_d_m in debug mode and
  1083.           look at the resource strings which it generates for that
  1084.           device, which will include the class string.
  1085.  
  1086.           When _x_d_m starts a session, it sets up authorization data for
  1087.           the server.  For local servers, _x_d_m passes ``----aaaauuuutttthhhh
  1088.           _f_i_l_e_n_a_m_e'' on the server's command line to point it at its
  1089.           authorization data.  For XDMCP servers, _x_d_m passes the
  1090.           authorization data to the server via the AAAAcccccccceeeepppptttt XDMCP
  1091.           request.
  1092.  
  1093.      RRRREEEESSSSOOOOUUUURRRRCCCCEEEESSSS FFFFIIIILLLLEEEE
  1094.           The _X_r_e_s_o_u_r_c_e_s file is loaded onto the display as a resource
  1095.           database using _x_r_d_b. As the authentication widget reads this
  1096.           database before starting up, it usually contains parameters
  1097.           for that widget:
  1098.  
  1099.                xlogin*login.translations: #override\
  1100.                     Ctrl<Key>R: abort-display()\n\
  1101.                     <Key>F1: set-session-argument(failsafe) finish-field()\n\
  1102.                     <Key>Return: set-session-argument() finish-field()
  1103.                xlogin*borderWidth: 3
  1104.                xlogin*greeting: CLIENTHOST
  1105.                #ifdef COLOR
  1106.                xlogin*greetColor: CadetBlue
  1107.                xlogin*failColor: red
  1108.                #endif
  1109.  
  1110.  
  1111.           Please note the translations entry; it specifies a few new
  1112.           translations for the widget which allow users to escape from
  1113.           the default session (and avoid troubles that may occur in
  1114.           it).  Note that if #override is not specified, the default
  1115.           translations are removed and replaced by the new value, not
  1116.  
  1117.  
  1118.  
  1119.      Page 17                                        (printed 10/24/98)
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  1127.  
  1128.  
  1129.  
  1130.           a very useful result as some of the default translations are
  1131.           quite useful (such as ``<Key>: insert-char ()'' which
  1132.           responds to normal typing).
  1133.  
  1134.           This file may also contain resources for the setup program
  1135.           and _c_h_o_o_s_e_r.
  1136.  
  1137.      SSSSEEEETTTTUUUUPPPP PPPPRRRROOOOGGGGRRRRAAAAMMMM
  1138.           The _X_s_e_t_u_p file is run after the server is reset, but before
  1139.           the Login window is offered.  The file is typically a shell
  1140.           script.  It is run as root, so should be careful about
  1141.           security.  This is the place to change the root background
  1142.           or bring up other windows that should appear on the screen
  1143.           along with the Login widget.
  1144.  
  1145.           In addition to any specified by DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....eeeexxxxppppoooorrrrttttLLLLiiiisssstttt,
  1146.           the following environment variables are passed:
  1147.  
  1148.                DISPLAY        the associated display name
  1149.                PATH           the value of DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....ssssyyyysssstttteeeemmmmPPPPaaaatttthhhh
  1150.                SHELL          the value of DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....ssssyyyysssstttteeeemmmmSSSShhhheeeellllllll
  1151.                XAUTHORITY     may be set to an authority file
  1152.  
  1153.           Note that since _x_d_m grabs the keyboard, any other windows
  1154.           will not be able to receive keyboard input.  They will be
  1155.           able to interact with the mouse, however; beware of
  1156.           potential security holes here.  If
  1157.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....ggggrrrraaaabbbbSSSSeeeerrrrvvvveeeerrrr is set, _X_s_e_t_u_p will not be
  1158.           able to connect to the display at all.  Resources for this
  1159.           program can be put into the file named by
  1160.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....rrrreeeessssoooouuuurrrrcccceeeessss.
  1161.  
  1162.           Here is a sample _X_s_e_t_u_p script:
  1163.  
  1164.                #!/bin/sh
  1165.                # Xsetup_0 - setup script for one workstation
  1166.                xcmsdb < /var/monitors/alex.0
  1167.                xconsole -geometry 480x130-0-0 -notify -verbose -exitOnFail &
  1168.  
  1169.  
  1170.      AAAAUUUUTTTTHHHHEEEENNNNTTTTIIIICCCCAAAATTTTIIIIOOOONNNN WWWWIIIIDDDDGGGGEEEETTTT
  1171.           The authentication widget reads a name/password pair from
  1172.           the keyboard.  Nearly every imaginable parameter can be
  1173.           controlled with a resource.  Resources for this widget
  1174.           should be put into the file named by
  1175.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....rrrreeeessssoooouuuurrrrcccceeeessss.  All of these have
  1176.           reasonable default values, so it is not necessary to specify
  1177.           any of them.
  1178.  
  1179.      xxxxllllooooggggiiiinnnn....LLLLooooggggiiiinnnn....yyyy
  1180.           xxxxllllooooggggiiiinnnn....LLLLooooggggiiiinnnn....wwwwiiiiddddtttthhhh,,,, xxxxllllooooggggiiiinnnn....LLLLooooggggiiiinnnn....hhhheeeeiiiigggghhhhtttt,,,, xxxxllllooooggggiiiinnnn....LLLLooooggggiiiinnnn....xxxx,,,,
  1181.                The geometry of the Login widget is normally computed
  1182.  
  1183.  
  1184.  
  1185.      Page 18                                        (printed 10/24/98)
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  1193.  
  1194.  
  1195.  
  1196.                automatically.  If you wish to position it elsewhere,
  1197.                specify each of these resources.
  1198.  
  1199.           xxxxllllooooggggiiiinnnn....LLLLooooggggiiiinnnn....ffffoooorrrreeeeggggrrrroooouuuunnnndddd
  1200.                The color used to display the typed-in user name.
  1201.  
  1202.           xxxxllllooooggggiiiinnnn....LLLLooooggggiiiinnnn....ffffoooonnnntttt
  1203.                The font used to display the typed-in user name.
  1204.  
  1205.           xxxxllllooooggggiiiinnnn....LLLLooooggggiiiinnnn....ggggrrrreeeeeeeettttiiiinnnngggg
  1206.                A string which identifies this window.  The default is
  1207.                ``X Window System.''
  1208.  
  1209.           xxxxllllooooggggiiiinnnn....LLLLooooggggiiiinnnn....uuuunnnnsssseeeeccccuuuurrrreeeeGGGGrrrreeeeeeeettttiiiinnnngggg
  1210.                When X authorization is requested in the configuration
  1211.                file for this display and none is in use, this greeting
  1212.                replaces the standard greeting.  The default is ``This
  1213.                is an unsecure session''
  1214.  
  1215.           xxxxllllooooggggiiiinnnn....LLLLooooggggiiiinnnn....ggggrrrreeeeeeeettttFFFFoooonnnntttt
  1216.                The font used to display the greeting.
  1217.  
  1218.           xxxxllllooooggggiiiinnnn....LLLLooooggggiiiinnnn....ggggrrrreeeeeeeettttCCCCoooolllloooorrrr
  1219.                The color used to display the greeting.
  1220.  
  1221.           xxxxllllooooggggiiiinnnn....LLLLooooggggiiiinnnn....nnnnaaaammmmeeeePPPPrrrroooommmmpppptttt
  1222.                The string displayed to prompt for a user name.  _X_r_d_b
  1223.                strips trailing white space from resource values, so to
  1224.                add spaces at the end of the prompt (usually a nice
  1225.                thing), add spaces escaped with backslashes.  The
  1226.                default is ``Login:  ''
  1227.  
  1228.           xxxxllllooooggggiiiinnnn....LLLLooooggggiiiinnnn....ppppaaaasssssssswwwwddddPPPPrrrroooommmmpppptttt
  1229.                The string displayed to prompt for a password.  The
  1230.                default is ``Password:  ''
  1231.  
  1232.           xxxxllllooooggggiiiinnnn....LLLLooooggggiiiinnnn....pppprrrroooommmmppppttttFFFFoooonnnntttt
  1233.                The font used to display both prompts.
  1234.  
  1235.           xxxxllllooooggggiiiinnnn....LLLLooooggggiiiinnnn....pppprrrroooommmmppppttttCCCCoooolllloooorrrr
  1236.                The color used to display both prompts.
  1237.  
  1238.           xxxxllllooooggggiiiinnnn....LLLLooooggggiiiinnnn....ffffaaaaiiiillll
  1239.                A message which is displayed when the authentication
  1240.                fails.  The default is ``Login incorrect''
  1241.  
  1242.           xxxxllllooooggggiiiinnnn....LLLLooooggggiiiinnnn....ffffaaaaiiiillllFFFFoooonnnntttt
  1243.                The font used to display the failure message.
  1244.  
  1245.           xxxxllllooooggggiiiinnnn....LLLLooooggggiiiinnnn....ffffaaaaiiiillllCCCCoooolllloooorrrr
  1246.                The color used to display the failure message.
  1247.  
  1248.  
  1249.  
  1250.  
  1251.      Page 19                                        (printed 10/24/98)
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  1259.  
  1260.  
  1261.  
  1262.           xxxxllllooooggggiiiinnnn....LLLLooooggggiiiinnnn....ffffaaaaiiiillllTTTTiiiimmmmeeeeoooouuuutttt
  1263.                The number of seconds that the failure message is
  1264.                displayed.  The default is 30.
  1265.  
  1266.           xxxxllllooooggggiiiinnnn....LLLLooooggggiiiinnnn....ttttrrrraaaannnnssssllllaaaattttiiiioooonnnnssss
  1267.                This specifies the translations used for the login
  1268.                widget.  Refer to the X Toolkit documentation for a
  1269.                complete discussion on translations.  The default
  1270.                translation table is:
  1271.  
  1272.                     Ctrl<Key>H:    delete-previous-character() \n\
  1273.                     Ctrl<Key>D:    delete-character() \n\
  1274.                     Ctrl<Key>B:    move-backward-character() \n\
  1275.                     Ctrl<Key>F:    move-forward-character() \n\
  1276.                     Ctrl<Key>A:    move-to-begining() \n\
  1277.                     Ctrl<Key>E:    move-to-end() \n\
  1278.                     Ctrl<Key>K:    erase-to-end-of-line() \n\
  1279.                     Ctrl<Key>U:    erase-line() \n\
  1280.                     Ctrl<Key>X:    erase-line() \n\
  1281.                     Ctrl<Key>C:    restart-session() \n\
  1282.                     Ctrl<Key>\\:   abort-session() \n\
  1283.                     <Key>BackSpace:delete-previous-character() \n\
  1284.                     <Key>Delete:   delete-previous-character() \n\
  1285.                     <Key>Return:   finish-field() \n\
  1286.                     <Key>:         insert-char() \
  1287.  
  1288.  
  1289.           The actions which are supported by the widget are:
  1290.  
  1291.           delete-previous-character
  1292.                Erases the character before the cursor.
  1293.  
  1294.           delete-character
  1295.                Erases the character after the cursor.
  1296.  
  1297.           move-backward-character
  1298.                Moves the cursor backward.
  1299.  
  1300.           move-forward-character
  1301.                Moves the cursor forward.
  1302.  
  1303.           move-to-begining
  1304.                (Apologies about the spelling error.)  Moves the cursor
  1305.                to the beginning of the editable text.
  1306.  
  1307.           move-to-end
  1308.                Moves the cursor to the end of the editable text.
  1309.  
  1310.           erase-to-end-of-line
  1311.                Erases all text after the cursor.
  1312.  
  1313.           erase-line
  1314.  
  1315.  
  1316.  
  1317.      Page 20                                        (printed 10/24/98)
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  1325.  
  1326.  
  1327.  
  1328.                Erases the entire text.
  1329.  
  1330.           finish-field
  1331.                If the cursor is in the name field, proceeds to the
  1332.                password field; if the cursor is in the password field,
  1333.                checks the current name/password pair.  If the
  1334.                name/password pair is valid, _x_d_m starts the session.
  1335.                Otherwise the failure message is displayed and the user
  1336.                is prompted again.
  1337.  
  1338.           abort-session
  1339.                Terminates and restarts the server.
  1340.  
  1341.           abort-display
  1342.                Terminates the server, disabling it.  This action is
  1343.                not accessible in the default configuration.  There are
  1344.                various reasons to stop _x_d_m on a system console, such
  1345.                as when shutting the system down, when using _x_d_m_s_h_e_l_l,
  1346.                to start another type of server, or to generally access
  1347.                the console.  Sending _x_d_m a SIGHUP will restart the
  1348.                display.  See the section CCCCoooonnnnttttrrrroooolllllllliiiinnnngggg XXXXDDDDMMMM.
  1349.  
  1350.           restart-session
  1351.                Resets the X server and starts a new session.  This can
  1352.                be used when the resources have been changed and you
  1353.                want to test them or when the screen has been
  1354.                overwritten with system messages.
  1355.  
  1356.           insert-char
  1357.                Inserts the character typed.
  1358.  
  1359.           set-session-argument
  1360.                Specifies a single word argument which is passed to the
  1361.                session at startup.  See the section SSSSeeeessssssssiiiioooonnnn PPPPrrrrooooggggrrrraaaammmm.
  1362.  
  1363.           allow-all-access
  1364.                Disables access control in the server.  This can be
  1365.                used when the .Xauthority file cannot be created by
  1366.                _x_d_m. Be very careful using this; it might be better to
  1367.                disconnect the machine from the network before doing
  1368.                this.
  1369.  
  1370.      SSSSTTTTAAAARRRRTTTTUUUUPPPP PPPPRRRROOOOGGGGRRRRAAAAMMMM
  1371.           The _X_s_t_a_r_t_u_p program is run as root when the user logs in.
  1372.           It is typically a shell script.  Since it is run as root,
  1373.           _X_s_t_a_r_t_u_p should be very careful about security.  This is the
  1374.           place to put commands which add entries to /_e_t_c/_u_t_m_p (the
  1375.           _s_e_s_s_r_e_g program may be useful here), mount users' home
  1376.           directories from file servers, or abort the session if
  1377.           logins are not allowed.
  1378.  
  1379.           In addition to any specified by DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....eeeexxxxppppoooorrrrttttLLLLiiiisssstttt,
  1380.  
  1381.  
  1382.  
  1383.      Page 21                                        (printed 10/24/98)
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  1391.  
  1392.  
  1393.  
  1394.           the following environment variables are passed:
  1395.  
  1396.                DISPLAY        the associated display name
  1397.                HOME           the initial working directory of the user
  1398.                LOGNAME        the user name
  1399.                USER           the user name
  1400.                PATH           the value of DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....ssssyyyysssstttteeeemmmmPPPPaaaatttthhhh
  1401.                SHELL          the value of DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....ssssyyyysssstttteeeemmmmSSSShhhheeeellllllll
  1402.                XAUTHORITY     may be set to an authority file
  1403.  
  1404.  
  1405.           No arguments are passed to the script.  _X_d_m waits until this
  1406.           script exits before starting the user session.  If the exit
  1407.           value of this script is non-zero, _x_d_m discontinues the
  1408.           session and starts another authentication cycle.
  1409.  
  1410.           The sample _X_s_t_a_r_t_u_p file shown here prevents login while the
  1411.           file /_e_t_c/_n_o_l_o_g_i_n exists. Thus this is not a complete
  1412.           example, but simply a demonstration of the available
  1413.           functionality.
  1414.  
  1415.           Here is a sample _X_s_t_a_r_t_u_p script:
  1416.  
  1417.                #!/bin/sh
  1418.                #
  1419.                # Xstartup
  1420.                #
  1421.                # This program is run as root after the user is verified
  1422.                #
  1423.                if [ -f /etc/nologin ]; then
  1424.                     xmessage -file /etc/nologin -timeout 30 -center
  1425.                     exit 1
  1426.                fi
  1427.                sessreg -a -l $DISPLAY -x /var/X11/xdm/Xservers $LOGNAME
  1428.                /var/xdm/GiveConsole
  1429.                exit 0
  1430.  
  1431.      SSSSEEEESSSSSSSSIIIIOOOONNNN PPPPRRRROOOOGGGGRRRRAAAAMMMM
  1432.           The _X_s_e_s_s_i_o_n program is the command which is run as the
  1433.           user's session.  It is run with the permissions of the
  1434.           authorized user.
  1435.  
  1436.           In addition to any specified by DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....eeeexxxxppppoooorrrrttttLLLLiiiisssstttt,
  1437.           the following environment variables are passed:
  1438.  
  1439.                DISPLAY        the associated display name
  1440.                HOME           the initial working directory of the user
  1441.                LOGNAME        the user name
  1442.                USER           the user name
  1443.                PATH           the value of DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....uuuusssseeeerrrrPPPPaaaatttthhhh
  1444.                SHELL          the user's default shell (from _g_e_t_p_w_n_a_m)
  1445.                XAUTHORITY     may be set to a non-standard authority file
  1446.  
  1447.  
  1448.  
  1449.      Page 22                                        (printed 10/24/98)
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  1457.  
  1458.  
  1459.  
  1460.                KRB5CCNAME     may be set to a Kerberos credentials cache name
  1461.  
  1462.  
  1463.           At most installations, _X_s_e_s_s_i_o_n should look in $HOME for a
  1464.           file ._x_s_e_s_s_i_o_n, which contains commands that each user would
  1465.           like to use as a session.  _X_s_e_s_s_i_o_n should also implement a
  1466.           system default session if no user-specified session exists.
  1467.           See the section TTTTyyyyppppiiiiccccaaaallll UUUUssssaaaaggggeeee.
  1468.  
  1469.           An argument may be passed to this program from the
  1470.           authentication widget using the `set-session-argument'
  1471.           action.  This can be used to select different styles of
  1472.           session.  One good use of this feature is to allow the user
  1473.           to escape from the ordinary session when it fails.  This
  1474.           allows users to repair their own ._x_s_e_s_s_i_o_n if it fails,
  1475.           without requiring administrative intervention.  The example
  1476.           following demonstrates this feature.
  1477.  
  1478.           This example recognizes the special ``failsafe'' mode,
  1479.           specified in the translations in the _X_r_e_s_o_u_r_c_e_s file, to
  1480.           provide an escape from the ordinary session.  It also
  1481.           requires that the .xsession file be executable so we don't
  1482.           have to guess what shell it wants to use.
  1483.  
  1484.                #!/bin/sh
  1485.                #
  1486.                # Xsession
  1487.                #
  1488.                # This is the program that is run as the client
  1489.                # for the display manager.
  1490.  
  1491.                case $# in
  1492.                1)
  1493.                     case $1 in
  1494.                     failsafe)
  1495.                          exec xterm -geometry 80x24-0-0
  1496.                          ;;
  1497.                     esac
  1498.                esac
  1499.  
  1500.                startup=$HOME/.xsession
  1501.                resources=$HOME/.Xresources
  1502.  
  1503.                if [ -f "$startup" ]; then
  1504.                     exec "$startup"
  1505.                else
  1506.                     if [ -f "$resources" ]; then
  1507.                          xrdb -load "$resources"
  1508.                     fi
  1509.                     twm &
  1510.                     xman -geometry +10-10 &
  1511.                     exec xterm -geometry 80x24+10+10 -ls
  1512.  
  1513.  
  1514.  
  1515.      Page 23                                        (printed 10/24/98)
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  1523.  
  1524.  
  1525.  
  1526.                fi
  1527.  
  1528.           Note that the script always ends with an _e_x_e_c.  This is the
  1529.           standard way to run _x_d_m.  When the _e_x_e_ced program exits, the
  1530.           session will end.  SGI also provides another way to control
  1531.           the termination of a session.  You can finish your script
  1532.           with:
  1533.                exec /usr/bin/X11/reaper
  1534.           In that case, the _r_e_a_p_e_r program places a property,
  1535.           __S_G_I__S_E_S_S_I_O_N__P_R_O_P_E_R_T_Y, on the root window and exits.  The
  1536.           session does not end when _r_e_a_p_e_r exits.  Instead, when the
  1537.           _SGI_SESSION_PROPERTY property is removed, xdm will
  1538.           terminate the session.  The program _e_n_d_s_e_s_s_i_o_n will remove
  1539.           that property. So will selecting "Log out" in the standard
  1540.           _t_o_o_l_c_h_e_s_t menu.
  1541.  
  1542.  
  1543.           The user's ._x_s_e_s_s_i_o_n file might look something like this
  1544.           example.  Don't forget that the file must have execute
  1545.           permission.
  1546.                #! /bin/csh
  1547.                # no -f in the previous line so .cshrc gets run to set $PATH
  1548.                twm &
  1549.                xrdb -merge "$HOME/.Xresources"
  1550.                emacs -geometry +0+50 &
  1551.                xbiff -geometry -430+5 &
  1552.                xterm -geometry -0+50 -ls
  1553.  
  1554.      RRRREEEESSSSEEEETTTT PPPPRRRROOOOGGGGRRRRAAAAMMMM
  1555.           Symmetrical with _X_s_t_a_r_t_u_p, the _X_r_e_s_e_t script is run after
  1556.           the user session has terminated.  Run as root, it should
  1557.           contain commands that undo the effects of commands in
  1558.           _X_s_t_a_r_t_u_p, removing entries from /_e_t_c/_u_t_m_p or unmounting
  1559.           directories from file servers.  The environment variables
  1560.           that were passed to _X_s_t_a_r_t_u_p are also passed to _X_r_e_s_e_t.
  1561.  
  1562.           A sample _X_r_e_s_e_t script:
  1563.                #!/bin/sh
  1564.                #
  1565.                # Xreset
  1566.                #
  1567.                # This program is run as root after the session ends
  1568.                #
  1569.                sessreg -d -l $DISPLAY -x /var/X11/xdm/Xservers $LOGNAME
  1570.                /var/xdm/TakeConsole
  1571.                exit 0
  1572.  
  1573.      CCCCOOOONNNNTTTTRRRROOOOLLLLLLLLIIIINNNNGGGG TTTTHHHHEEEE SSSSEEEERRRRVVVVEEEERRRR
  1574.           _X_d_m controls local servers using POSIX signals.  SIGHUP is
  1575.           expected to reset the server, closing all client connections
  1576.           and performing other cleanup duties.  SIGTERM is expected to
  1577.           terminate the server.  If these signals do not perform the
  1578.  
  1579.  
  1580.  
  1581.      Page 24                                        (printed 10/24/98)
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  1589.  
  1590.  
  1591.  
  1592.           expected actions, the resources
  1593.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....rrrreeeesssseeeettttSSSSiiiiggggnnnnaaaallll and
  1594.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr...._D_I_S_P_L_A_Y....tttteeeerrrrmmmmSSSSiiiiggggnnnnaaaallll can specify alternate
  1595.           signals.
  1596.  
  1597.           To control remote terminals not using XDMCP, _x_d_m searches
  1598.           the window hierarchy on the display and uses the protocol
  1599.           request KillClient in an attempt to clean up the terminal
  1600.           for the next session.  This may not actually kill all of the
  1601.           clients, as only those which have created windows will be
  1602.           noticed.  XDMCP provides a more sure mechanism; when _x_d_m
  1603.           closes its initial connection, the session is over and the
  1604.           terminal is required to close all other connections.
  1605.  
  1606.      CCCCOOOONNNNTTTTRRRROOOOLLLLLLLLIIIINNNNGGGG XXXXDDDDMMMM
  1607.           _X_d_m responds to two signals: SIGHUP and SIGTERM.  When sent
  1608.           a SIGHUP, _x_d_m rereads the configuration file, the access
  1609.           control file, and the servers file.  For the servers file,
  1610.           it notices if entries have been added or removed.  If a new
  1611.           entry has been added, _x_d_m starts a session on the associated
  1612.           display.  Entries which have been removed are disabled
  1613.           immediately, meaning that any session in progress will be
  1614.           terminated without notice and no new session will be
  1615.           started.
  1616.  
  1617.           When sent a SIGTERM, _x_d_m terminates all sessions in progress
  1618.           and exits.  This can be used when shutting down the system.
  1619.  
  1620.           _X_d_m attempts to mark its various sub-processes for _p_s(1) by
  1621.           editing the command line argument list in place.  Because
  1622.           _x_d_m can't allocate additional space for this task, it is
  1623.           useful to start _x_d_m with a reasonably long command line
  1624.           (using the full path name should be enough).  Each process
  1625.           which is servicing a display is marked ----_d_i_s_p_l_a_y.
  1626.  
  1627.      AAAADDDDDDDDIIIITTTTIIIIOOOONNNNAAAALLLL LLLLOOOOCCCCAAAALLLL DDDDIIIISSSSPPPPLLLLAAAAYYYYSSSS
  1628.           To add an additional local display, add a line for it to the
  1629.           _X_s_e_r_v_e_r_s file.  (See the section LLLLooooccccaaaallll SSSSeeeerrrrvvvveeeerrrr
  1630.           SSSSppppeeeecccciiiiffffiiiiccccaaaattttiiiioooonnnn.)
  1631.  
  1632.           Examine the display-specific resources in _x_d_m-_c_o_n_f_i_g (e.g.,
  1633.           DDDDiiiissssppppllllaaaayyyyMMMMaaaannnnaaaaggggeeeerrrr....____0000....aaaauuuutttthhhhoooorrrriiiizzzzeeee) and consider which of them
  1634.           should be copied for the new display.  The default _x_d_m-
  1635.           _c_o_n_f_i_g has all the appropriate lines for displays ::::0000 and ::::1111.
  1636.  
  1637.      OOOOTTTTHHHHEEEERRRR PPPPOOOOSSSSSSSSIIIIBBBBIIIILLLLIIIITTTTIIIIEEEESSSS
  1638.           You can use _x_d_m to run a single session at a time, using the
  1639.           4.3 _i_n_i_t options or other suitable daemon by specifying the
  1640.           server on the command line:
  1641.  
  1642.                xdm -server ":0 SUN-3/60CG4 local /usr/X11R6/bin/X :0"
  1643.  
  1644.  
  1645.  
  1646.  
  1647.      Page 25                                        (printed 10/24/98)
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.      XXXXDDDDMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXDDDDMMMM((((1111))))
  1655.  
  1656.  
  1657.  
  1658.           Or, you might have a file server and a collection of X
  1659.           terminals.  The configuration for this is identical to the
  1660.           sample above, except the _X_s_e_r_v_e_r_s file would look like
  1661.  
  1662.                extol:0 VISUAL-19 foreign
  1663.                exalt:0 NCD-19 foreign
  1664.                explode:0 NCR-TOWERVIEW3000 foreign
  1665.  
  1666.  
  1667.           This directs _x_d_m to manage sessions on all three of these
  1668.           terminals.  See the section CCCCoooonnnnttttrrrroooolllllllliiiinnnngggg XXXXddddmmmm for a
  1669.           description of using signals to enable and disable these
  1670.           terminals in a manner reminiscent of _i_n_i_t(8).
  1671.  
  1672.      LLLLIIIIMMMMIIIITTTTAAAATTTTIIIIOOOONNNNSSSS
  1673.           One thing that _x_d_m isn't very good at doing is coexisting
  1674.           with other window systems.  To use multiple window systems
  1675.           on the same hardware, you'll probably be more interested in
  1676.           _x_i_n_i_t.
  1677.  
  1678.      FFFFIIIILLLLEEEESSSS
  1679.           /_v_a_r/_X_1_1/_x_d_m/_x_d_m-_c_o_n_f_i_g
  1680.                               the default configuration file
  1681.  
  1682.           $_H_O_M_E/._X_a_u_t_h_o_r_i_t_y   user authorization file where _x_d_m stores
  1683.                               keys for clients to read
  1684.  
  1685.           /_v_a_r/_X_1_1/_x_d_m/_c_h_o_o_s_e_r
  1686.                               the default chooser
  1687.  
  1688.           /_u_s_r/_b_i_n/_X_1_1/_x_r_d_b   the default resource database loader
  1689.  
  1690.           /_u_s_r/_b_i_n/_X_1_1/_X      the default server
  1691.  
  1692.           /_u_s_r/_b_i_n/_X_1_1/_x_t_e_r_m  the default session program and failsafe
  1693.                               client
  1694.  
  1695.           /_v_a_r/_X_1_1/_x_d_m/_A<_d_i_s_p_l_a_y>-<_s_u_f_f_i_x>
  1696.                               the default place for authorization
  1697.                               files
  1698.  
  1699.           /_t_m_p/_K_5_C<_d_i_s_p_l_a_y>   Kerberos credentials cache
  1700.  
  1701.      SSSSEEEEEEEE AAAALLLLSSSSOOOO
  1702.           _X(1), _x_i_n_i_t(1), _x_a_u_t_h(1), _X_s_e_c_u_r_i_t_y(1), _s_e_s_s_r_e_g(1),
  1703.           _X_s_e_r_v_e_r(1), _X_s_g_i(1),
  1704.           _X _D_i_s_p_l_a_y _M_a_n_a_g_e_r _C_o_n_t_r_o_l _P_r_o_t_o_c_o_l
  1705.  
  1706.      AAAAUUUUTTTTHHHHOOOORRRR
  1707.           Keith Packard, MIT X Consortium
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.      Page 26                                        (printed 10/24/98)
  1714.  
  1715.  
  1716.  
  1717.